package API;

import javax.swing.*;

public class Buffer和Builder {
    public static void main(String[] args) {
       // me();//3秒32
       //  method2();//一秒
        m();
    }
    public static void m(){
        //定义字符串
        String str="单身狗你kin你草";
        //通过StringBuilder进行字符的拼接
        StringBuilder as=new StringBuilder();
        //时间记录用了多少时间
        //获取系统当前时间作为时间
        double a=System.currentTimeMillis();//ms
        for (int i = 0; i <1000 ; i++) {
            as.append(str);
        }
        double asd=System.currentTimeMillis();//秒
        System.out.println(as.toString());
        System.out.println(asd-a);
    }
    public static void method2(){
        //1.定义字符串
        String str="asdjhiushdlkfnlb";
        //将指定的字符串拼接10000次
        StringBuffer sb=new StringBuffer();
        //拼接10000
        //获取系统当前时间作为开始时间
        long s1=System.currentTimeMillis();//ms
        for (int i = 0; i <10000 ; i++) {
           sb.append(str);
        }
        //获取当前时间作为结束时间
        long t2=System.currentTimeMillis();
        System.out.println(sb.toString());//打印的是拼接的结果
        System.out.println(t2-s1);
    }
    public static void me(){
        //1.定义字符串
        String str = "abcdefghijklmnopqrstuvwxyz";

        //2.将指定的字符串拼接10000次
        //2.1定义变量,用来保存最终拼接的结果
        String result ="";
        //2.2拼接10000次
        /**4.可以添加一个计时功能*/
        //4.1获取系统当前时间作为开始时间
        long t1 = System.currentTimeMillis();//ms
        for(int i = 0; i < 10000 ; i++) {
            result = result + str;
        }
        //4.2获取系统当前时间作为结束时间
        long t2 = System.currentTimeMillis();//ms
        //3.打印拼接好的字符串
        //注意:eclipse控制台显示数据有限制,都打印在同一行了,所以控制台看不出来打印的内容
        //可以通过全选,复制拿出来看数据是否拼接成功
        System.out.println(result);

        //4.3打印拼接总共花费的总时长
        System.out.println(t2-t1);
    }
}
